package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 申诉管理，用于记录和处理用户的申诉对象 hyrj_appeal
 * 
 * @author ruoyi
 * @date 2024-03-08
 */
public class HyrjAppeal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 申诉ID，主键，自动增长 */
    private Long id;

    /** 申诉人ID，唯一标识申诉人的字段 */
    @Excel(name = "申诉人ID，唯一标识申诉人的字段")
    private Long appealerId;

    private String appealerName;

    /** 申诉目标ID，唯一标识被申诉对象的字段 */
    @Excel(name = "申诉目标ID，唯一标识被申诉对象的字段")
    private Long appealTargetId;

    private String appealTargetName;


    /** 申诉时间，记录申诉提交的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申诉时间，记录申诉提交的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appealTime;

    /** 申诉内容，详细描述申诉的具体内容或原因 */
    @Excel(name = "申诉内容，详细描述申诉的具体内容或原因")
    private String appealContent;

    /** 申诉状态，如待处理、已处理、已驳回等 */
    @Excel(name = "申诉状态，如待处理、已处理、已驳回等")
    private String appealStatus;

    /** 处理人ID，唯一标识处理申诉的管理员或工作人员 */
    @Excel(name = "处理人ID，唯一标识处理申诉的管理员或工作人员")
    private Long handlerId;

    private String handlerName;


    /** 处理时间，记录申诉被处理的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理时间，记录申诉被处理的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date handleTime;

    /** 处理结果，如同意申诉、驳回申诉等 */
    @Excel(name = "处理结果，如同意申诉、驳回申诉等")
    private String handleResult;

    /** 处理备注，记录处理过程中的说明或额外信息 */
    @Excel(name = "处理备注，记录处理过程中的说明或额外信息")
    private String handlingNotes;

    /** 附件链接，如果申诉涉及到图片、文件等，存储文件的链接或路径 */
    @Excel(name = "附件链接，如果申诉涉及到图片、文件等，存储文件的链接或路径")
    private String attachmentLink;

    /** 备注，用于记录其他需要注意的信息或特殊情况 */
    @Excel(name = "备注，用于记录其他需要注意的信息或特殊情况")
    private String remarks;

    public String getHandlerName() {
        return handlerName;
    }

    public void setHandlerName(String handlerName) {
        this.handlerName = handlerName;
    }

    public String getAppealerName() {
        return appealerName;
    }

    public void setAppealerName(String appealerName) {
        this.appealerName = appealerName;
    }

    public String getAppealTargetName() {
        return appealTargetName;
    }

    public void setAppealTargetName(String appealTargetName) {
        this.appealTargetName = appealTargetName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAppealerId(Long appealerId) 
    {
        this.appealerId = appealerId;
    }

    public Long getAppealerId() 
    {
        return appealerId;
    }
    public void setAppealTargetId(Long appealTargetId) 
    {
        this.appealTargetId = appealTargetId;
    }

    public Long getAppealTargetId() 
    {
        return appealTargetId;
    }
    public void setAppealTime(Date appealTime) 
    {
        this.appealTime = appealTime;
    }

    public Date getAppealTime() 
    {
        return appealTime;
    }
    public void setAppealContent(String appealContent) 
    {
        this.appealContent = appealContent;
    }

    public String getAppealContent() 
    {
        return appealContent;
    }
    public void setAppealStatus(String appealStatus) 
    {
        this.appealStatus = appealStatus;
    }

    public String getAppealStatus() 
    {
        return appealStatus;
    }
    public void setHandlerId(Long handlerId) 
    {
        this.handlerId = handlerId;
    }

    public Long getHandlerId() 
    {
        return handlerId;
    }
    public void setHandleTime(Date handleTime) 
    {
        this.handleTime = handleTime;
    }

    public Date getHandleTime() 
    {
        return handleTime;
    }
    public void setHandleResult(String handleResult) 
    {
        this.handleResult = handleResult;
    }

    public String getHandleResult() 
    {
        return handleResult;
    }
    public void setHandlingNotes(String handlingNotes) 
    {
        this.handlingNotes = handlingNotes;
    }

    public String getHandlingNotes() 
    {
        return handlingNotes;
    }
    public void setAttachmentLink(String attachmentLink) 
    {
        this.attachmentLink = attachmentLink;
    }

    public String getAttachmentLink() 
    {
        return attachmentLink;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("appealerId", getAppealerId())
            .append("appealTargetId", getAppealTargetId())
            .append("appealTime", getAppealTime())
            .append("appealContent", getAppealContent())
            .append("appealStatus", getAppealStatus())
            .append("handlerId", getHandlerId())
            .append("handleTime", getHandleTime())
            .append("handleResult", getHandleResult())
            .append("handlingNotes", getHandlingNotes())
            .append("attachmentLink", getAttachmentLink())
            .append("remarks", getRemarks())
            .toString();
    }
}
